我正在尝试在SQLDelight的表中添加更多列。我创建了迁移文件1.sqm。在迁移文件中,它给出了找不到表的错误。
我的版本.gradle.kts:
sqldelight {
database("AppDatabase") {
packageName = "com.jetbrains.handson.kmm.shared.cache"
schemaOutputDirectory = file("shared/src/commonMain/sqldelight/com/jetbrains/handson/kmm/shared/cache/AppDatabase.sq")
migrationOutputDirectory = file("shared/src/commonMain/sqldelight/migrations/1.sqm")
migrationOutputFileFormat = ".sqm"
schemaOutputDirectory
deriveSchemaFromMigrations = true
}
}
创建表语句:
CREATE TABLE pos_orders(id INTEGER AS Int PRIMARY KEY, orderId INTEGER AS Int , dateandtime TEXT, restaurant_id INTEGER AS Int, restaurant_name TEXT, deliveryType_description TEXT, paymentType_description TEXT, totalAmount REAL AS Float,
process_order INTEGER AS Int, pos_accept INTEGER AS Int, pos_printed INTEGER AS Int, status INTEGER AS Int, prep_time INTEGER AS Int, desired_delivery_time TEXT, restaurant_address TEXT, customerNo TEXT, title TEXT, firstName TEXT, lastName TEXT,company TEXT, street TEXT, houseNo TEXT, zip TEXT, city TEXT, state TEXT,floor TEXT, bezirk TEXT, bellname TEXT, email TEXT, phoneNo TEXT, fax TEXT, taxAmount REAL AS Float, total REAL AS Float , deliverycharges REAL AS Float,
deliveryType INTEGER AS Int, paymentType INTEGER AS Int, comment TEXT, order_note TEXT, sender TEXT, cancelation_cause TEXT, demo_order INTEGER AS Int, orderDate TEXT, updated TEXT);
2条答案
按热度按时间dpiehjr41#
将www.example.com更改gradle.build为上面的文件夹,然后在路径中完全按照我对两个文件夹***sqldelight***编写的路径
在sqldleight文件夹中放置所有数据库文件AppDatabase.sq、1.sqm、2.sqm...等等
诀窍就在这里在AppDatabase.sq中只放置数据库查询。
AppDatabase应如下所示
创建另一个1.sqm来放置原始表,创建2.sqm来放置迁移。
jhdbpxl92#
当我从gradle中删除除packageName之外的所有内容时,错误“未找到表...”仍然存在,但迁移按预期工作。
下面是我的示例,我需要从表中删除一些列
1.平方米文件