mr.ehsan8001 57 ارسال شده در 15 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 15 دی، ۱۳۹۵ سلام دوستان من موقعی که در دیتابیس تغییرات ایجاد میکنم و میخوام اپدیت بدم ورژن دیتابیسو بالا میبرم ولی برنامه فورس استاپ میشه. مشکل تو اپدیت دیتابیسه ارور لاگ کت: com.readystatesoftware.sqliteasset.SQLiteAssetHelper$SQLiteAssetException: no upgrade script path from 1 to 3 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
amir mahdizadeh 109 ارسال شده در 1 بهمن، ۱۳۹۵ اشتراک گذاری ارسال شده در 1 بهمن، ۱۳۹۵ در در 1395/10/30, 11:37:45، نیما قبادی گفته است : سلام دوست عزیز شما بین دیتابیس داخلی و خارجی الان اینجوری که من میبینم گم شدی. آموزشی @امین شاهدی گفتن از طریق دیتابیس خارجی هستش و آموزش که @amir mahdizadeh برای دیتابیس داخلی هست و خود شما هم همین کد داخلی رو دادین به نظرم اون آموزش @امین شاهدی رو ببین و برید دنبالش آسون تره تا بخوای به صورت دستی کار کنی (یعنی دیتابیس داخلی باشه). موفق باشید سلام اقای قبادی نه این طور نیست ما هممون موضوعمون دیتابیس خارجی هست اما استفاده از کتابخونه واسه اپدیت باید مراحل بالا رو انجام داد یعنی برای اپدیت کردن دیتابیس خارجی دیگه نمیشه دیتابیس رو پاک کرد و فایل جدید به جاش قرار داد( البته این نکته مهم رو بگم که این در شرایطی هست که نخوایم کاربر واسه اپدیت کردن برنامه رو پاک کنه ) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نیما قبادی 246 ارسال شده در 30 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 30 دی، ۱۳۹۵ سلام دوست عزیز شما بین دیتابیس داخلی و خارجی الان اینجوری که من میبینم گم شدی. آموزشی @امین شاهدی گفتن از طریق دیتابیس خارجی هستش و آموزش که @amir mahdizadeh برای دیتابیس داخلی هست و خود شما هم همین کد داخلی رو دادین به نظرم اون آموزش @امین شاهدی رو ببین و برید دنبالش آسون تره تا بخوای به صورت دستی کار کنی (یعنی دیتابیس داخلی باشه). موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mr.ehsan8001 57 ارسال شده در 27 دی، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 27 دی، ۱۳۹۵ در در 1395/10/25, 21:58:33، amir mahdizadeh گفته است : سلام دوست عزیز مشکلتون حل شد یا نه؟؟ من دقیقا به همین مشکل شما برخورد کردم و متاسفانه اقای شاهدی هم در این مورد کوتاهی کردن و اموزش رو ناقص گفتن برای اپدیت دادن فقط بالا بردن ورژن کافی نیست بلکه باید یه فایل با پسوند sql درست کنید و اسمش رو اینجوری بذارین databasename.db_upgrade-thisversion-newversion بعدش این فایل رو کنار دیتابیس قبلی بذارین و توی این فایل کد های sql مربوط به اپدیت شدن دیتابیستون رو بنویسید کلا یکم کار پیچیده ای البته نه خیلی نه حل نشد ینی به جای عدد اپدیت اسم اون دیتابیس اپدیت رو قرار بدم؟ منظور از کد های اپدیت شدن چیه؟ این رو پیدا کردم @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = "ALTER TABLE " + TABLE_SECRET + " ADD COLUMN " + "name_of_column_to_be_added" + " INTEGER"; db.execSQL(sql); } لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
amir mahdizadeh 109 ارسال شده در 28 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 28 دی، ۱۳۹۵ در 18 ساعت قبل، mr.ehsan8001 گفته است : نه حل نشد ینی به جای عدد اپدیت اسم اون دیتابیس اپدیت رو قرار بدم؟ منظور از کد های اپدیت شدن چیه؟ این رو پیدا کردم @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = "ALTER TABLE " + TABLE_SECRET + " ADD COLUMN " + "name_of_column_to_be_added" + " INTEGER"; db.execSQL(sql); } کد بالا رو نمیدونمچطورب باید باهاش کرد کرد که نوشتید اما شما توی سیستمون یه فایل تکست بسازید بعدش پسوندش رو بذارین sql و اسمش رو هم اینطوری بنویسید databasename.db_upgrade_1-2.sql بعدش این فایل رو توی برنامه توی فولدر اسست کنار فایل دیتابیس خودتون قرار بدید و توی اون فایل دستورات اپدیت شدن دیتابیس رو بنویسید من در همین حد متوجه شدم میتونید اسم کتابخونه رو توی گوگل سرچ کنید و براتون کتابخونه و نحوه استفادشو توی سایت گیت هاب میاره بخونید و اگه متوجه شدید حتمت من رو در جریان قرار بدید چون دقیقا من هم مشکل شما رو دارم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نیما قبادی 246 ارسال شده در 28 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 28 دی، ۱۳۹۵ سلام دوست عزیز توی این سایت که براتون گذاشتم قشنگ توضیح داده بنده وقت نمیکنم براتون نمونه بسازم. ولی طبق گفته های خودش برید جلو راحته. How To Android SQLite onUpgrade() | BHW Blog موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین شاهدی 5,773 ارسال شده در 28 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 28 دی، ۱۳۹۵ این کد هایی که دوستان گفتن ربطی به کتابخونه نداره ، همونطور که @amir mahdizadeh عزیز گفتن باید ورژن جدید رو با اسم جدید توی assets قرار بدین ، روند کار رو توی گیت هاب توضیح داده شده : لینک : GitHub - jgilfelt/android-sqlite-asset-helper: An Android helper class to manage database creation and version management using an application's raw asset files Database Upgrades At a certain point in your application's lifecycle you will need to alter it's database structure to support additional features. You must ensure users who have installed your app prior to this can safely upgrade their local databases without the loss of any locally held data. To facilitate a database upgrade, increment the version number that you pass to your SQLiteAssetHelper constructor: private static final int DATABASE_VERSION = 2; Update the initial SQLite database in the project's assets/databases directory with the changes and create a text file containing all required SQL commands to upgrade the database from its previous version to it's current version and place it in the same folder. The required naming convention for this upgrade file is as follows: assets/databases/<database_name>_upgrade_<from_version>-<to_version>.sql For example, northwind.db_upgrade_1-2.sql upgrades the database named "northwind.db" from version 1 to 2. You can include multiple upgrade files to upgrade between any two given versions. If there are no files to form an upgrade path from a previously installed version to the current one, the class will throw a SQLiteAssetHelperException. The samples:database-v2-upgrade project demonstrates a simple upgrade to the Northwind database which adds a FullName column to the Employee table. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mr.ehsan8001 57 ارسال شده در 28 دی، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 28 دی، ۱۳۹۵ من یچیز رو درست متوجه نشدم، ینی داخل اون فایل اپدیت ستون و تیبل های جدید رو قرار بدم؟ هیچ اکتیویتی ای هم لازم نداره؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین شاهدی 5,773 ارسال شده در 28 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 28 دی، ۱۳۹۵ اسم فایل مهمه ، شما ورژن که 2 قرار دادین دیتابیس جدید رو به assets اضافه کنید ، فرض کنید دیتابیس اصلی به این اسمه dictionary.db حالا دیتابیس جدید رو کنار همین فایل به این اسم بزارین : dictionary.db_upgrade_1-2.sql لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
amir mahdizadeh 109 ارسال شده در 28 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 28 دی، ۱۳۹۵ در 51 دقیقه قبل، امین شاهدی گفته است : اسم فایل مهمه ، شما ورژن که 2 قرار دادین دیتابیس جدید رو به assets اضافه کنید ، فرض کنید دیتابیس اصلی به این اسمه dictionary.db حالا دیتابیس جدید رو کنار همین فایل به این اسم بزارین : dictionary.db_upgrade_1-2.sql در 2 ساعت قبل، mr.ehsan8001 گفته است : من یچیز رو درست متوجه نشدم، ینی داخل اون فایل اپدیت ستون و تیبل های جدید رو قرار بدم؟ هیچ اکتیویتی ای هم لازم نداره؟ ببینید مثلا ما یه توی دیتابیس یه جدول داریم به اسم user که سه تا ستون داره( ایدی و یوزرنیم و فرست) حالا میخوایم برنامه رو اپدیت کنیم و به این جدول یوزر یه ستون جدید با اسم identity اضافه کنیم باید توی اون فایل که با پسوند اس کیو ال ساختیم کد های زیر رو بنویسیم ALTER TABLE "user" RENAME TO "user_temp"; CREATE TABLE "user" ( "id" int , "username" text, "first" text, "identity" text ); INSERT INTO "user" ("id","username","first") SELECT "id","username","first" FROM "user_temp"; DROP TABLE "user_temp"; اولش میایم و اسم اون جدول رو عوض میکنیم بعدش یه جدول می سازیم و همه ستون های قبلی و جدیدی رو که می خوایم بهش اضافه کنیم رو وارد می کنیم و در نهایت مقدارهای قبلی رو که توی فیلد های جدول بود میریزیم توی این جدول جدیده و اون جدول کمکی که اول کار اسمش رو عوض کردیم رو پاک می کنیم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
amir mahdizadeh 109 ارسال شده در 25 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 25 دی، ۱۳۹۵ سلام دوست عزیز مشکلتون حل شد یا نه؟؟ من دقیقا به همین مشکل شما برخورد کردم و متاسفانه اقای شاهدی هم در این مورد کوتاهی کردن و اموزش رو ناقص گفتن برای اپدیت دادن فقط بالا بردن ورژن کافی نیست بلکه باید یه فایل با پسوند sql درست کنید و اسمش رو اینجوری بذارین databasename.db_upgrade-thisversion-newversion بعدش این فایل رو کنار دیتابیس قبلی بذارین و توی این فایل کد های sql مربوط به اپدیت شدن دیتابیستون رو بنویسید کلا یکم کار پیچیده ای البته نه خیلی لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
mr.ehsan8001 57
سلام دوستان من موقعی که در دیتابیس تغییرات ایجاد میکنم و میخوام اپدیت بدم ورژن دیتابیسو بالا میبرم ولی برنامه فورس استاپ میشه. مشکل تو اپدیت دیتابیسه
ارور لاگ کت:
com.readystatesoftware.sqliteasset.SQLiteAssetHelper$SQLiteAssetException: no upgrade script path from 1 to 3
لینک ارسال
به اشتراک گذاری در سایت های دیگر
10 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.