我有一個Android項目,包括用SQLite編寫的本地數據庫。存在一個sqldelight文件夾,其中包含數據庫中每個表的.sq文件(User.sq,Routine.sq ...)。我能夠訪問/使用我的項目中定義的表格和程序。現在SQLite外鍵|不同的SQ文件
,我的意圖外鍵關係添加到數據庫中。不過,如果我嘗試像FOREIGN KEY (this_table_fk) REFERENCES OtherTable(other_table_pk)
,該項目將不建,因爲.sq文件我在無法找到在OtherTable.sq的CREATE TABLE
陳述或者通過擴展創建的OtherTable
表,其列other_table_pk
。
我怎樣才能讓2個不同的.sq文件「看到」由其他產生的表?
我試着把ThisTable
和OtherTable
的CREATE TABLE語句放在同一個.sq文件中,但是我在第二個CREATE TABLE語句上得到mismatched input 'CREATE' expecting (<EOF>, IDENTIFIER, JAVADOC_COMMENT)
。儘管如此,我寧願有一個解決方案將每張表保存在自己的.sq文件中。
謝謝。
的ThisTable.sq
和基本表示OtherTable.sq
ThisTable.sq:
CREATE TABLE ThisTable (
this_table_pk INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
location TEXT,
start_date TEXT,
end_date TEXT,
this_column_fk INTEGER,
FOREIGN KEY (this_column_fk) REFERENCES OtherTable(other_column_pk)
);
OtherTable.sq:
CREATE TABLE OtherTable (
other_table_pk INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
location TEXT,
start_date TEXT,
end_date TEXT);
你能後的.sq文件你在說什麼?沒有看到更多的代碼很難提供幫助。 – parkgrrr
是的,我會編輯OP。我並沒有試圖用我所做的或任何事情來賺錢,但我傾向於認爲抽象具體實現是一個很好的原則。等一下。 –
它完成了,由。 –