25 lines
918 B
SQL
25 lines
918 B
SQL
create temporary view tables as
|
|
select l.schema,
|
|
l.name,
|
|
l.type,
|
|
l.wr as is_without_rowid,
|
|
l.strict as is_strict
|
|
from sqlite_schema s
|
|
left join pragma_table_list l on s.name = l.name
|
|
where s.type = 'table';
|
|
|
|
create temporary view columns as
|
|
select tables.name as table_name,
|
|
table_info.name as column_name,
|
|
lower(table_info.type) as column_type,
|
|
"notnull",
|
|
dflt_value is not null as has_default_value,
|
|
ifnull(dflt_value, 0) dflt_value,
|
|
pk as is_primary_key,
|
|
fk."table" is not null as is_foreign_key,
|
|
ifnull(fk."table", '') as fk_target_table,
|
|
ifnull(fk."to", '') as fk_target_column
|
|
from tables
|
|
join pragma_table_info(tables.name) as table_info
|
|
left join pragma_foreign_key_list(tables.name) as fk on fk."from" = column_name;
|