投稿

2月, 2025の投稿を表示しています

a5mk2では、sqlite3のER図からリレーションが抜けてしまう⇒DBeverなら出来る

イメージ
 プラグインgodot sqliteを使って、sqlite3をgodotで使っています。 SQLやビューが使えてコーディングが楽なのですが、テーブルの全体像を知りたいです。 手でいちいち描いてしまうと、更新の度に変更する必要が出るので、 自動で描画したいです。 DBアクセスのツールとして、a5mk2が有名で慣れているので、 これでER図を作ろうとしました。 しかし、a5mk2は、sqlite3のリレーションを図に含める事ができず、 以下にあるように仕様外、とされていました。 https://a5m2.mmatsubara.com/wp/?topic=sqlite3%E3%81%A7%E5%A4%96%E9%83%A8%E3%82%AD%E3%83%BC%E5%88%B6%E7%B4%84%E3%81%AE%E3%80%8C%E8%A1%A8%E7%A4%BA%E3%81%A0%E3%81%91%E3%80%8D%E3%81%8A%E3%81%8B%E3%81%97%E3%81%84%EF%BC%9F DBever、という別のツールを使えばER図をリレーション込みで作れる事がわかり、 ER図の描画のみは、そちらを使用しています。 (以下はその図です) sqlite3は軽量で、DBの起動・停止等がいらないのですが、一方で、リレーションを張る際、デフォルトでは貼れず、以下のようなSQLが必要になったり、列名に和名をコメントで付与できない、等、いくつかやりたい事ができない部分がありますよね・・・  pragma foreign_keys = ON; 軽量なのが利点なので、諦めるしかないですが。

プラグイン(godot sqlite)を含めてエクスポートすると、データの更新ができない問題

イメージ
 godot内で、アイテムのマスターなどデータを持つことがあると思います。 jsonで持たせてもいいのですが、SQLやビューをgodot内で使えると便利。 godot sqlite、というプラグインがあり、これを使うと、 なんとデータベースsqlite3を、godot内で使えます! 使い方は以下で説明してくれています。 (ただ、英語なので、その内日本語版のものを作りたいところ・・・) https://www.youtube.com/watch?v=j-BRiTrw_F0 ただ、構築中は問題ないのですが、これをエクスポートすると(windows)、 データの読み込みはできるんですが、 更新ができなかった んですよね。。 さらに、 以下方法で解決後、構築中のプロジェクトの方でも同様の問題が発生しました。 試行錯誤した結果、エクスポート先のフォルダがドキュメントだとまずいようで、 それを変えることで、なんとか出来るようになりました! 以下方法です。 →(26.1.25)こちらですが、今考えると、単にフォルダの権限の問題のようにも思います。 以下方法の内、< ⑤構築中のプロジェクトでも同様の問題が発生するので、それも解消する >、にあるような、windows側の権限トラブルのメッセージから、フォルダの権限を変更する、という手続きが一番良いように思います。 方法 ①以下のような、ユーザパスに、プロジェクト用のフォルダを作る。 ※)最初ドキュメント(C:\Users\ユーザ名\Documents)にエクスポートしていて、   上記バグが起きました・・・ 以下フォルダを作ります。 C:\Users\ユーザ名\プロジェクト名 ②そこに、エクスポートする エクスポートすると、プロジェクト名のフォルダに、以下のようなファイルができます。 (設定によってファイルは違うかも) ③このフォルダに、構築時に使用していた、 sqlite3のDBファイル(拡張子.db)をコピーする。 これがコピーされることで、exeがDBファイルを読んだり、更新するようです。 さすがに、exeの中にDBファイルは含めれない?のでしょうか・・・ また、以下のように、godotのソース内のdbの場所を、res://data.dbから、user://data.db、に変えなさい、という記載もありますが、自分はw...