Yorvi Arias: Setup ora2pg for Oracle to Postgres Migration

Yorvi Arias: Setup ora2pg for Oracle to Postgres Migration

https://postgr.es/p/4P8

An important part of performing a migration from Oracle to PostgreSQL is selecting the right tool for helping with the conversion between systems. When people ask me how they can get the migration process started, I like to recommend a powerful open source utility called "ora2pg".

As the name suggests, ora2pg is a tool that migrates Oracle (or MySQL) databases to PostgreSQL by generating compatible SQL files  As the documentation states, ora2pg “connects your Oracle database, scans it automatically and extracts its structure or data, it then generates SQL scripts that you can load into your PostgreSQL database.” 

Postgresql

via Planet PostgreSQL https://ift.tt/2g0pqKY

June 24, 2020 at 02:47PM

Writing mysqlsh Scripts

Writing mysqlsh Scripts

https://ift.tt/2NuTdxi

    The new MySQL Shell or mysqlsh has provisions for loading user plugins in Python or JavaScript that are loaded when the shell starts up. I am just taking my initial steps into this area and wanted to share with you how easy it is to create a plug-in to produce a report.

    The ability to write and run your own scripts for information that you want on a regular basis is very useful. The idea behind this was a discussion with a community member who had issues with a locked account that unknowingly locked and knowing when passwords where changed.  This is a typical bit of work for a DBA that would be better automated and saved as a script for future uses.

The Query

    The query collects several vital facets of information for dealing with passwords and accounts.
SELECT concat(User, ‘@’,Host) as User, 
       password_expired as Expired, 
       password_last_changed as Changed, 
       password_lifetime as Lifetime, 
       account_locked as Locked, 
       User_attributes FROM mysql.user

    Nothing too exotic as far as a query goes.

The Code

    Most of the Python code deals with registering the registering the passwordData function that houses the query as report named userList. The query itself is in purple below and the registration ‘boilerplate is in green.  The shell.register_report is what ties the new function to the extension called userList.

# Define a passwordData function that generates a MySQL Shell report
def passwordData(session):
  query = "SELECT concat(User, ‘@’,Host) as User, password_expired as Expired, password_last_changed as Changed, password_lifetime as Lifetime, account_locked as Locked, User_attributes FROM mysql.user"
  result = session.sql(query).execute();
  report = []
  if (result.has_data()):
    report = [result.get_column_names()]
    for row in result.fetch_all():
        report.append(list(row))
  return {"report": report}
# Register the userList function as a MySQL Shell report
shell.register_report("userList", "list", passwordData, {"brief":"Lists the user password status on the target server."})
# Check if global object ‘ext’ has already been registered
if ‘ext’ in globals():
    global_obj = ext
else:
    # Otherwise register new global object named ‘ext’
    global_obj = shell.create_extension_object()
    shell.register_global("ext", global_obj,
        {"brief":"MySQL Shell extension plugins."})
# Add the ‘userList’ extension object as a member of the ‘ext’ global object
try:
    plugin_obj = global_obj.process
except IndexError:

The Report

    The output is pretty much as expected and could use some careful tailoring.  It would be nice to add information on how many days until a password expires and parsing the User_attributes field for key/values in a pretty fashion.  But in a few minutes work I had a quick little utility that will save me time in the future.
 JS > \show userList
+—————————-+———+———————+———-+——–+———————————————————————————-+
| User                       | Expired | Changed             | Lifetime | Locked | User_attributes                                                                  |
+—————————-+———+———————+———-+——–+———————————————————————————-+
| demo@localhost             | N       | 2020-04-09 10:42:06 | NULL     | N      | NULL                                                                             |
| foobar@localhost           | N       | 2020-04-06 09:38:50 | NULL     | N      | {"Password_locking": {"failed_login_attempts": 3, "password_lock_time_days": 2}} |
| mysql.infoschema@localhost | N       | 2020-01-13 11:57:33 | NULL     | Y      | NULL                                                                             |
| mysql.session@localhost    | N       | 2020-01-13 11:57:33 | NULL     | Y      | NULL                                                                             |
| mysql.sys@localhost        | N       | 2020-06-12 10:20:33 | NULL     | Y      | NULL                                                                             |
| root@localhost             | N       | 2020-01-13 11:57:37 | NULL     | N      | NULL                                                                             |
+—————————-+———+———————+———-+——–+—————————————————————————–
You Try
    I recommended grabbing LeFred’s Github repo and reading through his code.  You can create your own directory under your ~/.mysqlsh/plugins/ext/ directory and using the above code saved as init.py as an exercise.  
    I would love to see what similar scripts or reports others are creating so please share!
All opinions expressed in this blog are those of Dave Stokes who is actually amazed to find anyone else agreeing with him

technology

via Planet MySQL https://ift.tt/2iO8Ob8

June 24, 2020 at 03:47PM

The Best iPhone SE (2nd Gen) Cases, iPhone 7 Cases, and iPhone 8 Cases

The Best iPhone SE (2nd Gen) Cases, iPhone 7 Cases, and iPhone 8 Cases

https://ift.tt/2Nua3wx

The Best iPhone SE (2nd Gen) Cases, iPhone 7 Cases, and iPhone 8 Cases

Even if you’re not splurging on the most cutting-edge iPhone model, we still think your phone should be in a case. Whether you own a brand-new iPhone SE (2nd generation) or an older iPhone 7 or 8, a case can extend your phone’s life by preventing scratches, dents, and dings, and some cases can even prevent a bent phone or a broken screen. Adding a case also personalizes your iPhone, and some models add useful features such as card holders, waterproof protection, or even extra power.

technology

via Wirecutter: Reviews for the Real World https://ift.tt/36ATBn1

June 24, 2020 at 05:30PM

AWS ‘Honeycode’ makes Amazon a player in booming no-code software movement

AWS ‘Honeycode’ makes Amazon a player in booming no-code software movement

https://ift.tt/2Z5mrZb

Amazon launched its “AWS Honeycode” app development tool in beta on Wednesday. (AWS Image)

A new Amazon service called Honeycode promises to let non-developers quickly create interactive web and mobile apps without knowing how to develop software.

Announced in beta on Wednesday afternoon, Honeycode inserts Amazon into the fast-growing market for low-code and no-code software development, in which analysts and other advanced users inside companies can create sophisticated apps that would otherwise require them to engage their internal IT and application development teams.

“We really wanted to push that power of AWS out to all those people in the line of business, who want to create these custom apps to get things done, but don’t have the skill set to do it today,” said Larry Augustin, an Amazon Web Services vice president.

The service uses an underlying AWS database, allowing data to be linked, filtered and sorted, but with a point-and-click interface and a data entry structure reminiscent of a spreadsheet. The service is free for applications with up to 20 users, with charges kicking in for larger applications.

Amazon expects the primary usage to be used for apps and websites inside companies, but Honeycode could also be used for public-facing apps and websites.

It’s part of a broader effort by AWS to expand its offerings beyond the core infrastructure and platform services that initially attracted software developers to its cloud technologies. Amazon is looking to defend its lead as the top public cloud platform against rivals such as Microsoft Azure and Google Cloud.

Microsoft is also involved in low-code software development through its Power Platform.

Gartner estimated last year that low-code and no-code approaches will represent more than 65% of application development inside companies by 2024. Earlier projections by Forrester predicted that the market would grow 50% a year to more than $21 billion by 2024. Forrester last fall named FileMaker, AppSheet, Caspio and Quick Base as leaders in the field.

Amazon itself used early versions of Honeycode in the process of planning, launching and naming the product, and for other functions such as creating an org chart for the team, said Meera Vaidyanathan, director of product management for AWS Honeycode.

“In terms of the specific verticals or industries, I don’t think there are any limitations to who can use it,” she said.

geeky

via GeekWire https://ift.tt/2pQ6rtD

June 24, 2020 at 06:53PM

9 Tools/Tips For Generating Epic Content

9 Tools/Tips For Generating Epic Content

https://ift.tt/31b1EpF

When it comes to boosting organic reach, nothing works quite as well as a solid content marketing strategy. But no matter how much you churn out, the truth is, quality always beats quantity.

To stand out from your competitors (who are probably well-aware of the importance of content as well), you need to learn how to create something amazing.

Generating epic content isn’t that simple. Especially if you’re taking a DIY approach to your blog, YouTube channel, social media accounts, or podcast. But, it’s not impossible to produce either. All you need are the right tools and tips to make the most of your resources. 

If you’re ready to step up your game, read on to learn how you can create posts that raise the bar.

1. Come up with a great topic

Before you get down to writing or recording, you need to have a clear understanding of the exact message you want to send out to your audience. After all, nobody likes reading a page full of rambling that’s got no beginning, middle, ending, or value. So make sure you’ve got your topic figured out.

For a good place to start, you can check out HubSpot’s Blog Ideas Generator, which is a helpful tool you can turn to whenever you lack inspiration.

2. Make your headline attention-grabbing

Whether you’re the type of person who starts from the headline or tends to do their writing first and circle back to the beginning, know that the title you choose for your post is going to determine whether you get the results you want. So ensure it’s attention-grabbing, optimized for SEO, and that it ties in well with your central topic.

According to research, one of the most successful marketing strategies is to appeal to your reader’s emotions. And your headlines can be a huge part of that strategy. So, before you click publish, you can run it through the Headline Analyzer, which will check its Emotional Marketing Value and let you know whether you’ve got it right or if you still need to do a bit of polishing.

3. Check your readability score

When writing for the web, aim to make your text understandable to anyone over the age of 13. This means skipping complicated words, keeping sentences short, and avoiding the passive voice. You should also try to shorten your paragraphs, break your text up with headlines, and use bullet points where possible.

The Hemingway Editor app is one of the best tools out there. It will let you check your readability score and give you tips on improvement. All you need to do is enter your text, and you’ll get a comprehensive overview of everything that’s working well and anything that still needs refinement. Plus, it’s free.

4. Make the most of user-generated content

While the motivation behind your content marketing is building your authority, don’t forget that letting others do the talking is one of the best strategies out there.

Customer feedback and reviews are crucial forms of social proof. So give them the space they deserve on your website and social media profiles. And don’t stop there. You can share a host of user-generated content over a variety of platforms. Unboxing videos on YouTube, influencer posts on Instagram, or hashtags that let customers tag you in their posts are all a great way to encourage engagement and build trust.

5. Keep your brain sharp

This is a piece of advice that most entrepreneurs fail to follow, yet it really could be a gamechanger.

For you to be able to generate epic content, you need to be at the top of your game. And that takes equal amounts of hard work and self-care. 

Lack of exercise, poor nutrition, and insufficient sleep can all negatively influence your cognitive abilities. And that includes your creativity, as well as productivity

That being said, make sure to work out at least a few times per week, eat a healthy and balanced diet, and consistently get a good night’s rest on a comfortable bed. Furthermore, try to keep yourself from working in bed (no matter how great that idea seems at the time), and, of course, look for efficient ways to manage your stress levels.

6. Collect inspiration

One of the best ways to see what works is to look at your competition.

When it comes to collecting inspiration for ad copy, Facebook Ad Library is a great tool. You can search for active and inactive advertisements based on competitors’ names and sort the results according to impressions.

Although you can’t see the targeting options used, you can use this free resource to determine what type of content you can include in your social media advertising. Use it to: 

  • Check whether your target audience reacts better to video or images. 
  • See how your copy compares. 
  • Identify the unique selling points that just might give you the upper edge.

And don’t stop there. Websites, social media feeds, and blog sections are all excellent sources of inspiration – so keep an eye on your competitors, and do your best to stay one step ahead. 

7. Take a deep dive into SEO

To create awesome content, you have to know what exactly people are searching for. And in this regard, you’ll need a powerful research tool such as Ahrefs.

Not only can it give you a good idea where to focus your efforts, but even more, Ahrefs makes it super-easy to figure out what competing domains are doing right. You can put together a comprehensive list of your competitors (even the ones you’re not aware of), and do an in-depth analysis of their best-performing posts and keywords.

From there, you can see whether there are any opportunities you’re missing out on, and get to work creating new content that has a high chance of ranking well on SERPs.

8. Don’t forget the visuals

You’re probably aware of the fact that the human brain processes images faster than words. And the great thing is, you can use this to make your content perform much better.

Simply adding images to your web pages – or even better, creating infographics – can give you a chance to both get your message across and widen your reach. 

And the best place to look for inspiration? Pinterest. Just type your targeted keyword into the search bar, and you’ll find thousands of great content ideas you can expand upon.

9. Create beautiful designs

Lastly, know that you don’t have to spend a fortune to get great visuals for your website, blog, or social feeds. Using something as simple as Canva, you can create a wide variety of designs, including infographics, posters, flyers, t-shirts, and even a logo for your business.

Plus, the platform offers an entire learning section, which means that you can keep on getting better.

Conclusion

When it comes to epic content, you’ll find that research is key. Covering all your bases from start to finish will ensure that your effort bears fruit, instead of getting lost in a sea of similar posts.

Of course, don’t forget that content needs to be original to be truly successful. So always put your spin on the subject and make it into something that reflects your brand’s core values. This way, it will find its way to the people who will appreciate it.


Business vector created by stories – www.freepik.com

via Noupe https://www.noupe.com

June 24, 2020 at 10:50AM

Cancel Culture: Despite Humanity’s Problematic Past, Jesus Still Offering To Cancel Sins Of The World

Cancel Culture: Despite Humanity’s Problematic Past, Jesus Still Offering To Cancel Sins Of The World

https://ift.tt/2AHJtgJ

Cancel Culture: Despite Problematic Past, Jesus Still Offering To Cancel Sins Of The World

WORLD—Cancel culture is real: according to a recent report, God has dug up humanity’s atrocious past and offered to cancel the sins of the world through His Son, Jesus Christ.

God combed through humanity’s old tweets, wars, racism, hate for one another, and all other offensive acts, motives, and attitudes against a thrice-holy God, and decided that He had every right to cancel humanity. But then He did something really strange that didn’t make a ton of sense to anyone: instead of canceling humanity, He sent His Son to pay for the sins of the world and offered to cancel forever the sin-debt of those who believe in Him.

Reports indicated that for those who were dead in their sins, “God made alive together with him, having forgiven us all our trespasses, by canceling the record of debt that stood against us with its legal demands. This he set aside, nailing it to the cross.”

However, sources warned that God has canceled humanity once before with water and will do it again with fire one day, for those who reject His offer of canceling their sins forever.

Breaking: Paypal Now Available

Many of you told us you wouldn’t subscribe until we offered Paypal as a payment option. You apparently weren’t bluffing, so we finally caved and added Paypal. Now — like the unbeliever faced with God’s invisible qualities displayed in nature — you are without excuse.

fun

via The Babylon Bee https://babylonbee.com

June 19, 2020 at 05:24PM

The Best Office Chair

The Best Office Chair

https://ift.tt/2V0DVF0

The Best Office Chair

Many cheap office chairs make you feel like you’ve been crammed into a torturous economy seat on a cross-country flight, but quality office chairs upgrade you to first class—they’re designed to support your body comfortably for the long haul. We’ve researched dozens of office chairs, interviewed four ergonomics experts, and had test panelists with a variety of body types sit in deliberation for over 175 collective hours. And since 2015, we’ve found that the Steelcase Gesture is the best office chair for most people.

technology

via Wirecutter: Reviews for the Real World https://ift.tt/36ATBn1

June 18, 2020 at 02:49PM

DB Seeder – A database seeder application

DB Seeder – A database seeder application

https://ift.tt/2YM7Phk

DB seeder is a free data seeder application for MySQL. Generating dummy data for a project is a common task for presenting its functions and features to end-user. In this way, the DB seeder app made the task easier. It helps you to generate table dummy data quick and very easily! You can generate millions of data within a few seconds. You can use this application for generating dummy data for Laravel, Symphony, WordPress, Drupal, Joomla, any PHP project that uses MySQL database. It ships with various common data type and you can also generate constant, custom list, custom data with regular expression easily!

 

DB Seeder features

  • It’s a free application.
  • Simple and easy UI.
  • Automatically detect data types according to table schema.
  • Can use for Laravel, Symphony, WordPress, Drupal, Joomla, any PHP project, Desktop application that uses MySQL database.
  • Custom configuration saving facility.
  • Dark/Light theme available.
  • Various common data type and custom data type support.
  • and more.

 

Data Type Support

DATA TYPE DESCRIPTION
regex Regular expression
constant Constant data generate. After selecting you can set a constant value for all record.
custom_list Custom list with the pipe symbol. Example: Foo|Bar|Buzz
boolean Boolean value.
integer Random integer value.
number_range Number range. Example: 1-10
float Random float value.
word A single word.
sentence A sentence generation.
text Long text generation.
text_long Long text generation.
address Street address
slug Slug string generation.
name Random name generation.
email Random E-mail address.
phone Random phone number.
password Random password.
male_name Random male name.
female_name Random female name.
time Random time. Example: 12:12:00
date Random date. Example: 2020-06-14
date_range Generate date within the range. Example: 2020/01/01-2020/06/01
datetime Random date time.
timestamp Random timestamp.

How to use?

The use of DB Seeder is really simple and straight forward. Just download the DB Seeder application from GitHub repository and install it.

Now open the DB seeder application and enter your database host, port, username and password and click on connect.

mysql-connect.png

After the successful connection, it will fetch all your databases. Now just select the database and table. After selecting the table it’ll automatically set the data types according to your column name and field type. You can also change or customize the data types.

db-seeder-light-preview.png

After doing that now enter the number of records which you want to generate and click on SEE DATA button. That’s it!

 

Seeding data quickly and easily the DB Seeder application is really a helpful tool. If you find this tool is helpful to you then share this post with others so that it can help them who need it.

programming

via Laravel News Links https://ift.tt/2dvygAJ

June 18, 2020 at 09:42AM