turso_dart 0.1.0
turso_dart: ^0.1.0 copied to clipboard
Dart binding for the new-gen Turso
turso_dart #
Dart binding for Turso, the evolution of libsql/re-write of sqlite
Local database
import 'package:turso_dart/turso_dart.dart';
void main() async {
final path = await getApplicationSupportDirectory();
final db = connect(LocalDbConfig('${path.path}/test.db'));
final conn = db.connect();
conn.execute(
"CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY, name TEXT)",
);
conn.execute(
"INSERT INTO test (name) VALUES (?1)",
params: Params.positional(["Alice"]),
);
conn.execute(
"INSERT INTO test (name) VALUES (:name)",
params: Params.named({":name": "Bob"}),
);
final res = conn.query("SELECT * FROM test");
print(res);
}
Sync database
import 'package:turso_dart/turso_dart.dart';
void main() async {
final path = await getApplicationSupportDirectory();
final db = connectSync(
SyncDbConfig('${path.path}/sync.db', remoteUrl: "", authToken: ""),
);
final conn = db.connect();
db.pull();
conn.execute(
"CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY, name TEXT)",
);
conn.execute(
"INSERT INTO test (name) VALUES (?1)",
params: Params.positional(["Alice"]),
);
conn.execute(
"INSERT INTO test (name) VALUES (:name)",
params: Params.named({":name": "Bob"}),
);
db.push();
db.pull();
final res = conn.query("SELECT * FROM user");
print(res);
}
import 'package:turso_dart/isolate.dart';
void main() async {
final path = await getApplicationSupportDirectory();
final db = await connect(LocalDbConfig('${path.path}/new.db'));
final conn = await db.connect();
await conn.execute(
"CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY, name TEXT)",
);
await conn.execute(
"INSERT INTO test (name) VALUES (?1)",
params: Params.positional(["Alice"]),
);
await conn.execute(
"INSERT INTO test (name) VALUES (:name)",
params: Params.named({":name": "Bob"}),
);
print(await conn.query("SELECT * FROM test"));
final stmt = await conn.prepare("SELECT * FROM test where id = ?1");
print(await stmt.query(params: Params.positional([1])));
final tx = await conn.transaction();
await (await tx.prepare(
"INSERT INTO test (name) VALUES (:name)",
)).execute(params: Params.named({":name": "Charlie"}));
await tx.commit();
print(await conn.query("SELECT * FROM test"));
}