フレームワークが作成してくれるテーブルの定義を確認したいので方法を調べてみました。
SQliteのテーブルの定義はsqlite_masterテーブルに記録されていますので、そちらから取得することが出来ます。
SQL
select sql from sqlite_master where type='table' and name='テーブル名';
PowerShellスクリプト
using namespace System.Data.SQLite
# モジュールのインポート
Import-Module SQLite
# データベースファイル
$db_path = "c:\sample.db"
# コネクションオブジェクトの生成
$con = [SQLiteConnection]::new() | % {
$_.ConnectionString = ("Data Source = {0}"-f $db_path)
$_.Open()
$_
}
$cmd = [SQLiteCommand]::new()
$cmd.Connection = $con
# レコードの参照
$cmd.CommandText = @"
select sql from sqlite_master where type='table';
"@
$rec = $cmd.ExecuteReader()
while ($rec.Read()) {
Write-Host ("{0}" -f $rec['sql'])
}
$rec.Close()
実行
PS>.\sqlite_sample2.ps1 CREATE TABLE sample ( id int, name text, primary key(id) )
コメント